<?php

/*

Desktopd Picture Server
Copyright (C) 2015  Desktopd Developer(s)

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

https://www.gnu.org/licenses/agpl.html

@kind entry-executable
@comment Unless specified, @kind defaults to 'class'

*/


namespace Desktopd;

require_once __DIR__ . '/autoloader.php';


$downloader = new PictureServer\Downloader();
$downloader->addStatusListener(function ($uri, $success, $message) {
    $status = $success ? 'OK' : 'FAILED';
    echo "[Status] ($status) $message: $uri\n";
});

$downloader->addURI('http://[::]:7777/?1');
$downloader->addURI('http://[::]:7777/?2');
$downloader->addURI('http://[::]:7777/?3');
$downloader->addURI('http://[::]:7777/?4');

$directory = new PictureServer\PictureDirectory(__DIR__ . '/downloads');

$count = $downloader->count();

echo "Downloading $count file(s)...\n";

$failed = $downloader->fetch($directory);
if ($failed === false) {
    echo "Unknown error downloading files\n";
} elseif (is_array($failed) && 0 < count($failed)) {
    $count = count($failed);
    "Failed to download $count file(s)\n";
    foreach ($failed as $failedURI) {
        "Download failure: $failedURI\n";
    }
}

echo "Done!\n";


// vim: ts=4 et ai

